// 递归路由，此方法的目的是根据服务器依据不同的权限返回的菜单名字对自己定义的
// 所有路由进行处理，服务器返回什么菜单名字，客户端开放对应路由


// 两个参数:
//      1.服务器根据权限返回的菜单(路由)名字
//      2.我自己定义的所有路由


function recursionRoutes(menuList,Routes){
       let userMenu =  [] // 储存计算的结果

//        console.log(menuList);

       menuList.forEach(menu => {
          Routes.forEach(route => {
                  if(menu.title === route.meta.title){
                        // 第一个if判断只是将第一层动态路由添加
                        // 所以需要递归,如果menu有孩子，那么需要继续在route的孩子中找
                        // 和menu的孩子的title相同的
                        route.meta.name = menu.name
                        
                        if(menu.children && menu.children.length){
                                route.children = recursionRoutes(menu.children,route.children)
                        }

                        userMenu.push(route)
                  }
          })
       })
       
       return userMenu
}

export default recursionRoutes